package io.renren.modules.test.usecase.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

import javax.validation.constraints.NotBlank;
import java.util.Date;

/**
 * @author liyinuo
 * 测试用例
 */
@TableName(value = "bm_test_case")
@Data
@ToString
@ApiModel(value = "Case对象", description = "")
public class UseCase {
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "测试用例id")
    private Long CaseId;

    @NotBlank(message = "测试用例标题不可为空")
    @ApiModelProperty(value = "测试用例标题")
    private String CaseTitle;

    @NotBlank(message = "测试描述不可为空")
    @ApiModelProperty(value = "测试用例描述")
    private String CaseDesc;

    @NotBlank(message = "测试用例状态不可为空")
    @ApiModelProperty(value = "用例状态(1: 失败、2：新建、3：进行中、4：完成)")
    private int CaseStatus = 2;

    @NotBlank(message = "测试用例重要程度不可为空")
    @ApiModelProperty(value = "重要程度(1: 致命、2：严重、3：一般、4：建议)")
    private int CaseLevel;

    @NotBlank(message = "预计工时不可为空")
    @ApiModelProperty(value = "预计工时")
    private int CaseTime;

    @NotBlank(message = "模块id不可为空")
    @ApiModelProperty(value = "模块id")
    private Long ModuleId;

    @ApiModelProperty(value = "测试人员ID")
    private Long TestUser;

    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(value = "最后修改时间")
    private Date lastEditTime;

    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value = "创建人")
    private Long createUser;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(value = "最后修改人")
    private Long lastEditUser;

    @TableLogic
    @ApiModelProperty(value = "逻辑删除")
    private int delStatus;
}
